package com.mysoft.gfyx.common.rpc.opensearch;

import com.mysoft.gfyx.common.rpc.opensearch.dto.*;
import feign.Headers;
import feign.Param;
import feign.RequestLine;

public interface OpensearchClientService {
    @RequestLine("POST /bigdata/mohurd-project/get-list")
    @Headers("Content-Type: application/json")
    OpenSearchListResponseDto searchMohurdProject(SearchMohurdProjectRequestDto dto);

    @RequestLine("GET /bigdata/mohurd-project/guess-names?keyword={keyword}")
    @Headers("Content-Type: application/json")
    OpenSearchSingleListResponseDto searchMohurdProjectName(@Param("keyword") String keyword);


    @RequestLine("POST /bigdata/saas-supplier/get-list")
    @Headers("Content-Type: application/json")
    OpenSearchListResponseDto searchSupplier(SearchSupplierRequestDto dto);

    //post方法
    @RequestLine("POST /bigdata/developer/get-list")
    @Headers("Content-Type: application/json")
    OpenSearchListResponseDto searchDeveloperPost(SearchDeveloperRequestDto dto);

    @RequestLine("POST /bigdata/radar-project/subscription")
    @Headers("Content-Type: application/json")
    OpenSearchListResponseDto subscriptRadarProject(SubscriptRadarProjectRequestDto dto);

    @RequestLine("GET /bigdata/saas-supplier/guess-names?keyword={keyword}")
    @Headers("Content-Type: application/json")
    OpenSearchSingleListResponseDto searchSupplierName(@Param("keyword") String keyword);


    @RequestLine("POST /bigdata/taken-land/get-list")
    @Headers("Content-Type: application/json")
    OpenSearchListResponseDto searchTakenLand(SearchTakeLandRequestDto dto);

    @RequestLine("POST /bigdata/project/get-list")
    @Headers("Content-Type: application/json")
    OpenSearchListResponseDto searchProject(SearchProjectRequestDto dto);

    @RequestLine("POST /bigdata/purchase/get-list")
    @Headers("Content-Type: application/json")
    OpenSearchListResponseDto searchPurchase(SearchPurchaseRequestDto dto);

    @RequestLine("POST /bigdata/purchase/subscription")
    @Headers("Content-Type: application/json")
    OpenSearchListResponseDto purchaseSubscription(PurchaseSubscriptionRequestDto dto);

    @RequestLine("POST /bigdata/win-bid/get-list")
    @Headers("Content-Type: application/json")
    OpenSearchListResponseDto winBidGetList(SearchWinBidRequestDto dto);

    @RequestLine("POST /bigdata/developer/recommended-developer-list")
    @Headers("Content-Type: application/json")
    OpenSearchListResponseDto recommendedDeveloperList(RecommendedDeveloperRequestDto dto);

    @RequestLine("POST /bigdata/developer/get-developer-score")
    @Headers("Content-Type: application/json")
    OpenSearchSingleListResponseDto getDeveloperScore(GetDeveloperScoreRequestDto dto);

    @RequestLine("POST /bigdata/contact/radar-contact")
    @Headers("Content-Type: application/json")
    OpenSearchSingleListResponseDto radarContact(RadarContactRequestDto dto);
}
